Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


vendor/lxmfy/Makefile dev (9051d6cc) Text, 6.33 KB

T8b949e# LXMFy Makefile
T8b949e# Override SUDO for install target: make install SUDO=doas or leave unset to auto-detect

Te6edf3PYTHON_VERSION Tff7b72?= T79c0ff3.13
Te6edf3PACKAGE_NAME Tff7b72:= lxmfy
Te6edf3DOCKER_IMAGE Tff7b72?= lxmfy-test
Te6edf3WHEEL_BUILDER_IMAGE Tff7b72?= lxmfy-wheel-builder

Te6edf3RNGIT Tff7b72?= rngit
Te6edf3RNGIT_CONFIG Tff7b72?= Tff7b72$(HOMETff7b72)/.rngit
Te6edf3RNS_CONFIG Tff7b72?= Tff7b72$(HOMETff7b72)/.reticulum
Te6edf3RNGIT_REMOTE Tff7b72?= Tff7b72$(shell git config --get remote.origin.urlTff7b72)
Te6edf3RNGIT_IDENTITY Tff7b72?=
Te6edf3RNGIT_SIGNER Tff7b72?=
Te6edf3RNGIT_NAME Tff7b72?=
Te6edf3RELEASE_TAG Tff7b72?= vTff7b72$(shell poetry version -sTff7b72)
Te6edf3RELEASE_DIST Tff7b72?= dist
Te6edf3RELEASE_ARTIFACT Tff7b72?= all

Te6edf3SUDO Tff7b72:= Tff7b72$(shell Tff7b72if Tffa657command -v doasTb4b4b4; Tff7b72then Tffa657echo doasTb4b4b4; Tff7b72else Tffa657echo sudoTb4b4b4; Tff7b72fiTff7b72)

Te6edf3RNGIT_RELEASE Tff7b72= Tff7b72$(RNGITTff7b72) release --config Tff7b72$(RNGIT_CONFIGTff7b72) --rnsconfig Tff7b72$(RNS_CONFIGTff7b72)
Te6edf3RNGIT_RELEASE_OPTS Tff7b72= Tff7b72$(Tff7b72if Tff7b72$(RNGIT_IDENTITYTff7b72),-i Tff7b72$(RNGIT_IDENTITYTff7b72),Tff7b72) Tffea00\
Tff7b72$(Tff7b72if Tff7b72$(RNGIT_SIGNERTff7b72),-s Tff7b72$(RNGIT_SIGNERTff7b72),Tff7b72) Tffea00\
Tff7b72$(Tff7b72if Tff7b72$(RNGIT_NAMETff7b72),-n Tff7b72$(RNGIT_NAMETff7b72),Tff7b72)
Te6edf3RELEASE_TARGET Tff7b72= Tff7b72$(RELEASE_TAGTff7b72):Tff7b72$(RELEASE_DISTTff7b72)

Te6edf3PACKAGE_VERSION Tff7b72:= Tff7b72$(shell poetry version -sTff7b72)

Td2a8ff.PHONYTff7b72: Te6edf3default Te6edf3update Te6edf3install Te6edf3install-Te6edf3dev Te6edf3build Te6edf3clean Te6edf3test Te6edf3lint Te6edf3format Te6edf3typecheck Te6edf3check Te6edf3dev Te6edf3run
Td2a8ff.PHONYTff7b72: Te6edf3version Te6edf3bump-Te6edf3patch Te6edf3bump-Te6edf3minor Te6edf3bump-Te6edf3major Te6edf3update-Te6edf3version
Td2a8ff.PHONYTff7b72: Te6edf3docker Te6edf3docker-Te6edf3build Te6edf3docker-Te6edf3run Te6edf3docker-Te6edf3run-Te6edf3host Te6edf3docker-Te6edf3wheel-Te6edf3build Te6edf3docker-Te6edf3wheel-Te6edf3extract
Td2a8ff.PHONYTff7b72: Te6edf3docker-Te6edf3compose-Te6edf3build Te6edf3docker-Te6edf3compose-Te6edf3up Te6edf3docker-Te6edf3compose-Te6edf3down Te6edf3docker-Te6edf3compose-Te6edf3logs
Td2a8ff.PHONYTff7b72: Te6edf3docker-Te6edf3stop Te6edf3docker-Te6edf3clean Te6edf3publish-Te6edf3gitea Te6edf3publish-Te6edf3pypi Te6edf3publish Te6edf3all Te6edf3ci
Td2a8ff.PHONYTff7b72: Te6edf3release-Te6edf3dist Te6edf3release-Te6edf3dist-Te6edf3clean Te6edf3release-Te6edf3tag Te6edf3release-Te6edf3push Te6edf3release-Te6edf3local Te6edf3release-Te6edf3upload Te6edf3release
Td2a8ff.PHONYTff7b72: Te6edf3release-Te6edf3list Te6edf3release-Te6edf3view Te6edf3release-Te6edf3fetch Te6edf3release-Te6edf3verify Te6edf3release-Te6edf3delete

Td2a8ffdefaultTff7b72:
@echo Ta5d6ff"Targets: update install install-dev build clean test lint format typecheck check dev run"
@echo Ta5d6ff" version bump-patch bump-minor bump-major docker docker-build docker-run"
@echo Ta5d6ff" docker-run-host docker-wheel-build docker-wheel-extract docker-stop docker-clean"
@echo Ta5d6ff" docker-compose-build docker-compose-up docker-compose-down docker-compose-logs"
@echo Ta5d6ff" publish-gitea publish-pypi publish all ci"
@echo Ta5d6ff" release release-dist release-tag release-push release-local release-upload"
@echo Ta5d6ff" release-list release-view release-fetch release-verify release-delete"

Td2a8ffupdateTff7b72:
git pull

Td2a8ffinstallTff7b72:
Tff7b72$(SUDOTff7b72) pip install .

Td2a8ffinstall-devTff7b72:
poetry install
poetry run pip install pytest pytest-asyncio pytest-cov

Td2a8ffbuildTff7b72:
poetry build

Td2a8ffcleanTff7b72:
rm -rf build/
rm -rf dist/
rm -rf *.egg-info/
rm -rf .pytest_cache/
rm -rf __pycache__/
find . -type d -name __pycache__ -exec rm -rf Tff7b72{Tff7b72} + Tff7b72|| Tffa657true
find . -type f -name Ta5d6ff"*.pyc" -delete Tff7b72|| Tffa657true
find . -type f -name Ta5d6ff"*.pyo" -delete Tff7b72|| Tffa657true

Td2a8fftestTff7b72:
poetry run pytest tests/ -v

Td2a8fflintTff7b72:
poetry run ruff check .

Td2a8ffformatTff7b72:
poetry run ruff format .

Td2a8fftypecheckTff7b72:
poetry run pyright lxmfy

Td2a8ffcheckTff7b72:
poetry run safety check

Td2a8ffdevTff7b72:
poetry install

Td2a8ffrunTff7b72:
poetry run lxmfy run Tffa657echo

Td2a8ffversionTff7b72:
@python -c Ta5d6ff"import lxmfy; print(lxmfy.__version__)"

Td2a8ffbump-patchTff7b72:
poetry version patch
Tff7b72$(MAKETff7b72) update-version

Td2a8ffbump-minorTff7b72:
poetry version minor
Tff7b72$(MAKETff7b72) update-version

Td2a8ffbump-majorTff7b72:
poetry version major
Tff7b72$(MAKETff7b72) update-version

Td2a8ffupdate-versionTff7b72:
@NEW_VERSIONTff7b72=Te6edf3$$Tff7b72(poetry version -sTff7b72)Tb4b4b4; Tffea00\
Tffa657echo Ta5d6ff"Ta5d6ff__version__ = \"Te6edf3$$Ta5d6ffNEW_VERSION\"Ta5d6ff" > lxmfy/__version__.pyTb4b4b4; Tffea00\
Tffa657echo Ta5d6ff"Ta5d6ffUpdated version to Te6edf3$$Ta5d6ffNEW_VERSIONTa5d6ff"

Td2a8ffdockerTff7b72: Te6edf3docker-Te6edf3build Te6edf3docker-Te6edf3run

Td2a8ffdocker-buildTff7b72:
docker build -t Tff7b72$(DOCKER_IMAGETff7b72) .

Td2a8ffdocker-runTff7b72:
docker run -d Tffea00\
--name Tff7b72$(DOCKER_IMAGETff7b72)-bot Tffea00\
-v Tff7b72$(CURDIRTff7b72)/config:/bot/config Tffea00\
-v Tff7b72$(CURDIRTff7b72)/.reticulum:/root/.reticulum Tffea00\
--restart unless-stopped Tffea00\
Tff7b72$(DOCKER_IMAGETff7b72)

Td2a8ffdocker-run-hostTff7b72:
docker run -d Tffea00\
--name Tff7b72$(DOCKER_IMAGETff7b72)-bot Tffea00\
--network host Tffea00\
-v Tff7b72$(CURDIRTff7b72)/config:/bot/config Tffea00\
-v Tff7b72$(CURDIRTff7b72)/.reticulum:/root/.reticulum Tffea00\
--restart unless-stopped Tffea00\
Tff7b72$(DOCKER_IMAGETff7b72)

Td2a8ffdocker-wheel-buildTff7b72:
docker build -f docker/Dockerfile.Build -t Tff7b72$(WHEEL_BUILDER_IMAGETff7b72) .

Td2a8ffdocker-wheel-extractTff7b72:
docker run --rm -v Ta5d6ff"Tff7b72$(CURDIRTff7b72)Ta5d6ff/dist_output:/outputTa5d6ff" Tff7b72$(WHEEL_BUILDER_IMAGETff7b72)

Td2a8ffdocker-compose-buildTff7b72:
docker-compose -f docker/docker-compose.yml build

Td2a8ffdocker-compose-upTff7b72:
docker-compose -f docker/docker-compose.yml up -d

Td2a8ffdocker-compose-downTff7b72:
docker-compose -f docker/docker-compose.yml down

Td2a8ffdocker-compose-logsTff7b72:
docker-compose -f docker/docker-compose.yml logs -f

Td2a8ffdocker-stopTff7b72:
docker stop Tff7b72$(DOCKER_IMAGETff7b72)-bot Tff7b72|| Tffa657true
docker rm Tff7b72$(DOCKER_IMAGETff7b72)-bot Tff7b72|| Tffa657true

Td2a8ffdocker-cleanTff7b72: Te6edf3docker-Te6edf3stop
docker rmi Tff7b72$(DOCKER_IMAGETff7b72) Tff7b72|| Tffa657true
docker rmi Tff7b72$(WHEEL_BUILDER_IMAGETff7b72) Tff7b72|| Tffa657true

Td2a8ffpublish-giteaTff7b72: Te6edf3build
twine upload --repository-url https://git.quad4.io/api/packages/LXMFy/pypi dist/*

Td2a8ffpublish-pypiTff7b72: Te6edf3build
twine upload dist/*

Td2a8ffpublishTff7b72: Te6edf3publish-Te6edf3gitea Te6edf3publish-Te6edf3pypi

Td2a8ffrelease-dist-cleanTff7b72:
@if Tff7b72[ -d dist Tff7b72]Tb4b4b4; Tff7b72then Tffea00\
find dist -maxdepth T79c0ff1 -type f ! -name Ta5d6ff'$(PACKAGE_NAME)-$(PACKAGE_VERSION)*' -print -deleteTb4b4b4; Tffea00\
Tff7b72fi

Td2a8ffrelease-distTff7b72:
rm -rf dist/
poetry build

Td2a8ffrelease-tagTff7b72:
@tagTff7b72=Ta5d6ff"Tff7b72$(RELEASE_TAGTff7b72)Ta5d6ff"Tb4b4b4; Tffea00\
Tff7b72 if git show-ref --verify --quiet "refs/tags/$$tag"; then \
Tff7b72 echo "Tag $$tag already exists"; \
Tff7b72 else \
Tff7b72 git tag -a "$$tag" -m "Release $$tag"; \
Tff7b72 echo "Created tag $$tag"; \
Tff7b72 fi

Td2a8ffrelease-pushTff7b72: Te6edf3release-Te6edf3tag
git push origin --follow-tags

Td2a8ffrelease-localTff7b72: Te6edf3release-Te6edf3dist
Tff7b72$(RNGIT_RELEASETff7b72) Tff7b72$(RNGIT_RELEASE_OPTSTff7b72) -L Tff7b72$(RNGIT_REMOTETff7b72) create Tff7b72$(RELEASE_TARGETTff7b72)

Td2a8ffrelease-uploadTff7b72: Te6edf3release-Te6edf3dist
@test -n Ta5d6ff"Tff7b72$(RNGIT_REMOTETff7b72)Ta5d6ff" Tff7b72|| Tff7b72(Tffa657echo Ta5d6ff"RNGIT_REMOTE is empty; set it or configure git remote origin" Tff7b72&& Tffa657exit T79c0ff1Tff7b72)
Tff7b72$(RNGIT_RELEASETff7b72) Tff7b72$(RNGIT_RELEASE_OPTSTff7b72) Tff7b72$(RNGIT_REMOTETff7b72) create Tff7b72$(RELEASE_TARGETTff7b72)

Td2a8ffreleaseTff7b72: Te6edf3release-Te6edf3dist Te6edf3release-Te6edf3tag Te6edf3release-Te6edf3push Te6edf3release-Te6edf3upload

Td2a8ffrelease-listTff7b72:
@test -n Ta5d6ff"Tff7b72$(RNGIT_REMOTETff7b72)Ta5d6ff" Tff7b72|| Tff7b72(Tffa657echo Ta5d6ff"RNGIT_REMOTE is empty" Tff7b72&& Tffa657exit T79c0ff1Tff7b72)
Tff7b72$(RNGIT_RELEASETff7b72) Tff7b72$(RNGIT_REMOTETff7b72) list

Td2a8ffrelease-viewTff7b72:
@test -n Ta5d6ff"Tff7b72$(RELEASE_TAGTff7b72)Ta5d6ff" Tff7b72|| Tff7b72(Tffa657echo Ta5d6ff"Set RELEASE_TAG=..." Tff7b72&& Tffa657exit T79c0ff1Tff7b72)
Tff7b72$(RNGIT_RELEASETff7b72) Tff7b72$(RNGIT_REMOTETff7b72) view Tff7b72$(RELEASE_TAGTff7b72)

Td2a8ffrelease-fetchTff7b72:
@test -n Ta5d6ff"Tff7b72$(RELEASE_TAGTff7b72)Ta5d6ff" Tff7b72|| Tff7b72(Tffa657echo Ta5d6ff"Set RELEASE_TAG=... and optionally RELEASE_ARTIFACT=all" Tff7b72&& Tffa657exit T79c0ff1Tff7b72)
Tff7b72$(RNGIT_RELEASETff7b72) Tff7b72$(RNGIT_RELEASE_OPTSTff7b72) Tff7b72$(RNGIT_REMOTETff7b72) fetch Tff7b72$(RELEASE_TAGTff7b72):Tff7b72$(RELEASE_ARTIFACTTff7b72)

Td2a8ffrelease-verifyTff7b72:
@test -n Ta5d6ff"Tff7b72$(RELEASE_TAGTff7b72)Ta5d6ff" Tff7b72|| Tff7b72(Tffa657echo Ta5d6ff"Set RELEASE_TAG=... and optionally RELEASE_ARTIFACT=all" Tff7b72&& Tffa657exit T79c0ff1Tff7b72)
Tff7b72$(RNGIT_RELEASETff7b72) Tff7b72$(RNGIT_RELEASE_OPTSTff7b72) -o Tff7b72$(RNGIT_REMOTETff7b72) verify Tff7b72$(RELEASE_TAGTff7b72):Tff7b72$(RELEASE_ARTIFACTTff7b72)

Td2a8ffrelease-deleteTff7b72:
@test -n Ta5d6ff"Tff7b72$(RELEASE_TAGTff7b72)Ta5d6ff" Tff7b72|| Tff7b72(Tffa657echo Ta5d6ff"Set RELEASE_TAG=..." Tff7b72&& Tffa657exit T79c0ff1Tff7b72)
Tff7b72$(RNGIT_RELEASETff7b72) Tff7b72$(RNGIT_REMOTETff7b72) delete Tff7b72$(RELEASE_TAGTff7b72)

Td2a8ffallTff7b72: Te6edf3clean Te6edf3lint Te6edf3typecheck Te6edf3test Te6edf3build

Td2a8ffciTff7b72: Te6edf3lint Te6edf3typecheck Te6edf3check Te6edf3test Te6edf3build


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────